public static ByteToCharConverter getConverter(String var0) throws UnsupportedEncodingException {
Object var1 = Converters.newConverter(0, var0);
return (ByteToCharConverter)var1;
}
public abstract String getCharacterEncoding();
public abstract int convert(byte[] var1, int var2, int var3, char[] var4, int var5, int var6) throws MalformedInputException, UnknownCharacterException, ConversionBufferFullException;
public char[] convertAll(byte[] var1) throws MalformedInputException {
this.reset();
boolean var2 = this.subMode;
this.subMode = true;
char[] var3 = new char[this.getMaxCharsPerByte() * var1.length];
char[] var6;
try {
int var4 = this.convert(var1, 0, var1.length, var3, 0, var3.length);
var4 += this.flush(var3, var4, var3.length);
char[] var5 = new char[var4];
System.arraycopy(var3, 0, var5, 0, var4);
var6 = var5;
} catch (ConversionBufferFullException var11) {
throw new InternalError("this.getMaxCharsBerByte returned bad value");
} catch (UnknownCharacterException var12) {
throw new InternalError();
} finally {
this.subMode = var2;
}
return var6;
}
public abstract int flush(char[] var1, int var2, int var3) throws MalformedInputException, ConversionBufferFullException;
public abstract void reset();
public int getMaxCharsPerByte() {
return 1;
}
public int getBadInputLength() {
return this.badInputLength;
}
public int nextCharIndex() {
return this.charOff;
}
public int nextByteIndex() {
return this.byteOff;
}
public void setSubstitutionMode(boolean var1) {
this.subMode = var1;
}
public void setSubstitutionChars(char[] var1) throws IllegalArgumentException {